package com.qckj.amz.service;

import java.util.List;

import com.qckj.common.core.domain.AjaxResult;
import org.springframework.data.domain.Page;
import com.qckj.amz.domain.ConfigCategory;

/**
 * 产品类别配置Service接口
 *
 * @author luchuan
 * @since 1.0 2023-01-19
 */
public interface IConfigCategoryService  {
    /**
     * 查询产品类别配置
     *
     * @param id 产品类别配置ID
     * @return 产品类别配置
     */
    ConfigCategory findById(Long id);

    /**
     * 分页查询产品类别配置列表
     *
     * @param req 产品类别配置
     * @return 产品类别配置集合
     */
    Page<ConfigCategory> findConfigCategoryPage(ConfigCategory req);

    /**
     * 查询产品类别配置列表
     *
     * @param req 产品类别配置
     * @return 产品类别配置集合
     */
    List<ConfigCategory> findConfigCategoryList(ConfigCategory req);

    /**
     * 新增产品类别配置
     *
     * @param configCategory 产品类别配置
     * @return 结果
     */
    AjaxResult save(ConfigCategory configCategory);

    /**
     * 批量删除产品类别配置
     *
     * @param ids 需要删除的产品类别配置ID
     * @return 结果
     */
    void deleteByIds(List<Long> ids);

    /**
     * 删除产品类别配置信息
     *
     * @param id 产品类别配置ID
     * @return 结果
     */
    void deleteConfigCategoryById(Long id);

    /**
     * 编辑
     * @param configCategory
     * @return
     */
    AjaxResult edit(ConfigCategory configCategory);

    /**
     * 通过当前所属部门获取类目列表
     * @return
     */
    AjaxResult getConfigCategoryByDept();
}
